/**
 * Questa classe ha la responsabilità di gestire la pagina web del server
 * @author cl401644
 */
package gruppoA;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import server.IHTTPServer;

public class PaginaWEB implements IHTTPServer {
	
	private String nomeURI;
	private ArrayList<String> risorsa;
	private RisorsaURI risorsaURI;
	
	public PaginaWEB(String nomeURI) {
		super();
		this.nomeURI = nomeURI;
	}

	@Override
	public List<String> elaboraRispostaHTTP(List<String> richiestaHTTP) {
		ArrayList<String> risposta = new ArrayList<String>();
		Collections.addAll(risposta, "HTTP/1.1 200 OK", 
				"Date: Tue, 01 Apr 2014 08:41:20",
				"Content-Type: text/html; charset=utf-8",
				"");
		try {
			setURI();
			for (int i = 0; i < risorsa.size(); i++) {
				risposta.add(risorsa.get(i));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return risposta;
	}
	/**
	 * Imposta la URI richiesta
	 * @throws Exception
	 */
	public void setURI() throws Exception{
		this.risorsa = new ArrayList<String>();
		URL nomeURL = new URL(nomeURI);
        BufferedReader in = new BufferedReader(
        new InputStreamReader(nomeURL.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null){
            risorsa.add(inputLine);
        }    
        in.close();
	}

	public ArrayList<String> getRisorsa() {
		return risorsa;
	}



	public String getNomeURI() {
		return nomeURI;
	}
	public void setNomeURI(String nomeURI) {
		this.nomeURI = nomeURI;
	}
}
